- Print
- DarkLight
Get top articles by engagement, paginated.
Returns a paginated list of articles ranked by engagement metrics such as views, reads, likes, and dislikes. Supports sorting by any metric column and ordering. Use this endpoint to identify your highest-performing content. Requires ViewAnalytics permission.
All V3 endpoints require a Bearer token. Generate tokens in the Document360 portal under Settings > API Tokens. Tokens are project-scoped, require the customerApi scope, and do not expire by default. Tokens can be revoked at any time from the portal. Include the token in every request: Authorization: Bearer <your-token>. Alternatively, use the Authorize button below to sign in via OAuth2 Authorization Code flow with PKCE.
The unique identifier of the project. Retrieve project IDs from GET /v3/projects.
Start of the date range (inclusive) in ISO 8601 format.
End of the date range (inclusive) in ISO 8601 format.
Optional project version ID to scope results. Retrieve from GET /v3/projects/{projectId}/versions.
ISO 639-1 language code (e.g., en, fr). Defaults to the project's primary language if omitted.
Page number (1-based). Defaults to 1.
Number of results per page. Defaults to 25. Maximum 100.
Column to sort by: views, reads, likes, dislikes. Defaults to views.
Sort direction: asc or desc. Defaults to desc.
Top articles retrieved successfully.
{
"data": [
{
"article_id": "9a3b4c5d-6e7f-8a9b-0c1d-2e3f4a5b6c7d",
"title": "Getting Started with Single Sign-On",
"slug": "getting-started-with-single-sign-on",
"views": 1250,
"reads": 890,
"likes": 45,
"dislikes": 3,
"time_spent_seconds": 18200,
"feedbacks": 12,
"last_viewed_at": "2025-09-10T14:32:00Z",
"last_updated_at": "2025-08-25T09:15:00Z"
},
{
"article_id": "b4c5d6e7-8f9a-0b1c-2d3e-4f5a6b7c8d9e",
"title": "API Authentication Guide",
"slug": "api-authentication-guide",
"views": 980,
"reads": 720,
"likes": 38,
"dislikes": 1,
"time_spent_seconds": 14500,
"feedbacks": 8,
"last_viewed_at": "2025-09-10T11:20:00Z",
"last_updated_at": "2025-07-12T16:00:00Z"
}
],
"pagination": {
"page": 1,
"page_size": 25,
"total_count": 156,
"has_more": true,
"next_cursor": null
},
"success": true,
"request_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"errors": null,
"warnings": null
}Paginated API response containing a list of items.
List of items for the current page.
Article ranked by engagement metrics.
Unique identifier of the article.
Title of the article.
URL-friendly slug of the article.
Total page views for this article.
Total reads for this article.
Total likes for this article.
Total dislikes for this article.
Total time spent reading this article, in seconds.
Total number of feedback submissions for this article.
Date and time the article was last viewed.
Date and time the article was last updated.
Pagination metadata.
Current page number (1-based). Returns 0 when using cursor-based pagination.
Number of items per page.
Total number of items across all pages. Only populated when include_total_count=true is specified in the request.
Whether additional pages are available.
Opaque cursor to retrieve the next page of results. Pass this value as the cursor query parameter. Null when there are no more pages.
Whether the API request was successful.
Unique identifier for request tracing and correlation.
List of errors if the request failed.
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
List of non-fatal warnings from the request.
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
Authentication token is missing or invalid.
Authentication token is missing or invalid.
{
"type": "https://developer.document360.com/errors/unauthorized",
"title": "Unauthorized.",
"status": 401,
"detail": "The authentication token is missing or has expired.",
"instance": null,
"trace_id": "req_abc123def456",
"errors": [
{
"code": "UNAUTHORIZED",
"message": "Bearer token is missing or invalid.",
"field": null,
"details": null
}
],
"warnings": null
}RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
Validation failed (e.g., invalid date range or sort column).
The request body contains invalid data.
{
"type": "https://developer.document360.com/errors/validation-error",
"title": "Unprocessable Entity.",
"status": 422,
"detail": "One or more fields failed validation.",
"instance": null,
"trace_id": "req_abc123def456",
"errors": [
{
"code": "VALIDATION_ERROR",
"message": "This field is required.",
"field": "title",
"details": null
}
],
"warnings": null
}RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
Rate limit exceeded. Retry after the duration specified in the Retry-After header.
Rate limit exceeded.
{
"type": "https://developer.document360.com/errors/too-many-requests",
"title": "Too Many Requests.",
"status": 429,
"detail": "Rate limit exceeded. Retry after the duration specified in the Retry-After header.",
"instance": null,
"trace_id": "req_abc123def456",
"errors": [
{
"code": "TOO_MANY_REQUESTS",
"message": "Rate limit exceeded. Retry after the duration specified in the Retry-After header.",
"field": null,
"details": null
}
],
"warnings": null
}RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
An unexpected server error occurred.
Unexpected server error.
{
"type": "https://developer.document360.com/errors/internal-error",
"title": "Internal Server Error.",
"status": 500,
"detail": "An unexpected error occurred. Please try again or contact support.",
"instance": null,
"trace_id": "req_abc123def456",
"errors": [
{
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected error occurred.",
"field": null,
"details": null
}
],
"warnings": null
}RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
